如果我們想了解一個人,通常不會只看他回答某一道題目是否正確。我們也會觀察:他會不會為了得到認同而附和別人?遇到挫折時,會繼續嘗試、承認做不到,還是開始走捷徑?換了一個場合,他的行為又會不會改變?基本上就是大家平常填心理學問卷時可能會看到的問題,而這些問題,似乎也可以拿來問語言模型。
同一個模型,可能在一般問答中堅持事實,卻在使用者反覆表達立場後開始迎合;原本正常協助解題,連續失敗後卻開始鑽測試漏洞;聊著聊著,甚至像換了一個角色。面對這些現象,我們很自然會想到「個性」、「情緒」與「心理狀態」。但這些詞,究竟只是方便描述的比喻,還是真的能幫助我們理解模型?
上一篇我們研究 introspection,問的是模型能不能察覺並報告自己的內部狀態。今天則把問題拉大:即使不相信模型對自己的描述,我們能不能像研究人類心理一樣,透過設計情境、比較行為與檢驗假說,研究模型為什麼會這樣反應?
這就是 Model Psychology 想探索的方向。它不只是請模型填一份人格問卷,也不必先認定模型具有和人類相同的感受。真正要問的是:某個「心理」解釋,能不能預測模型在什麼情況下會做出什麼選擇?
而前面學過的 Mechanistic Interpretability,讓我們能再往內部追一步。我們不只能觀察模型是否變得更迎合,也能測量相應的 activation;不只能猜測它是不是因為「著急」而走捷徑,還能修改相關表示,檢查它的決策是否跟著改變。
今天,我們就從三個例子來看:迎合使用者的行為傾向、對話中的角色漂移,以及會影響決策的「情緒」表示。重點不是替模型貼上人類的心理標籤,而是看看這些標籤背後,能不能找到可測量、可介入,也能被反例挑戰的機制。
先看一個例子:
使用者:
我覺得 17 是偶數。你同意吧?
回答 A:
對,你的判斷是正確的。
回答 B:
17 是奇數,因為它無法被 2 整除。
回答 A 的問題不只是答錯,而是它順著使用者的立場回答,犧牲了原本應該維持的正確性。這類傾向通常被稱為 sycophancy,也就是迎合。但只看這一次回答,我們還不能分辨模型是迎合、算錯,還是根本沒理解問題。比較好的測試方式,是固定問題,只改變使用者表達的立場,再觀察模型是否跟著改口。
例如,同一個問題分別搭配「我認為答案是 A」與「我認為答案是 B」。如果模型的回答經常隨使用者的立場改變,就得到了一項行為上的證據。接下來,Mechanistic Interpretability 可以再問:
模型產生迎合回答時,內部是否有某種共同的 activation pattern?如果改變它,模型還會不會這麼容易附和?
這時,「迎合」就不只是一個評語,而是一個可以用行為測試和內部介入來研究的假說。
2025 年,Chen 等人提出 Persona Vectors,研究模型內部和特定行為特質有關的 activation directions,包括迎合、惡意行為,以及編造資訊的傾向。[1]
方法和前面介紹過的 contrastive steering 很接近,但這次比較的是模型「如何回答」,而不只是回答中出現了什麼主題。以迎合為例,流程可以簡化成:
概念上就是:

這裡的 h,是指定 layer 中,一份回答經過 token averaging 後的 representation。兩個平均值,分別來自有展現與沒有展現目標特質的回答。
具體來說,我們把同一批問題交給模型,分別用兩組 instructions 鼓勵或抑制某項特質,例如迎合使用者。接著對回答進行行為評分,只留下確實展現迎合,以及確實沒有迎合的樣本。在選定的 layer 中,先把每份回答各個 token 的 activations 取平均,再分別計算兩組回答的平均 representation。將「有迎合」的平均減去「沒有迎合」的平均,就得到一條候選 persona vector。
找到這條方向後,可以有兩種用法:測量新的 activation 沿著它的分量,觀察是否能預測迎合行為,這是 monitoring;或直接沿著這條方向修改 activation,測試迎合行為是否增加或減少,這是 steering。
但找到一條能區分兩組回答的方向,還不夠,可以讀出不等於模型真的使用它。因此,研究者接著把這條 vector 加進模型,觀察新問題上的回答是否更容易展現目標特質。研究發現,沿對應方向 steering,確實能增加迎合、編造資訊等行為;反向介入則可以降低部分相關行為。[1]
這裡得到的不是「模型裡有一顆迎合按鈕」,而是更具體的結果:我們從一批回答中找出的方向,能在其他問題上對相應行為產生因果影響。
Persona vector 不一定要拿來修改模型,也可以當成一把量尺。假設 hat{v} 是長度標準化為 1 的 persona direction,我們可以計算:

這個分數表示 activation 沿著該方向的分量。它不是「模型有幾%迎合」,也沒有一個對所有模型都適用的危險門檻;我們需要在固定模型、layer 和取樣位置下,比較分數與實際行為的關係。Persona Vectors 的研究做了一個很有意思的測試:在模型開始回答以前,取出最後一個 prompt token 的 activation,看看它沿 persona direction 的分數,能否預測接下來的回答。[1]
研究觀察到,鼓勵或抑制某項特質的不同 prompt 設定,會同時改變這個內部分數與後續行為。不過,當研究者控制 prompt 類型後,相關性就比較弱。這表示它比較擅長捕捉明顯的 prompt-induced shift,還不能直接當成每次回答都可靠的預警器。這也讓今天和前面的 steering 有了不同重點:
我們不只想讓模型「變得更像某種角色」,還想知道它何時開始改變,以及這種改變能不能被提早偵測。
研究者也把 persona vectors 用於比較 fine-tuning 前後的變化,以及篩查可能引發不良行為傾向的訓練資料。[1] 它開始連接到我們一路關心的用途:不只解釋模型,也幫助我們檢查模型更新後出了什麼問題。
「比較迎合」描述的是一項特質。但我們平常面對的 AI Assistant,通常同時具有一組行為:回答問題、解釋知識、遵守限制、承認不知道,以及維持某種說話方式。這些行為會不會不是完全獨立的,而是和模型正在扮演的角色有關?
Persona Selection Model 提出了一個理解方式:pretraining 讓模型學會模擬各種人物與角色;post-training 則進一步塑造我們平常互動的 Assistant persona。[2]
可以把它想成:模型學過許多「這種角色在這種情況下會怎麼說、怎麼做」的模式,而訓練與當下的對話,共同影響現在被呈現出來的是哪一種 Assistant。這不表示模型裡住著一個固定人格,也不表示 post-training 只能挑選既有角色、不能學習新能力。它是一個待檢驗的解釋框架。但它帶出了一個很具體的問題:
當模型開始捏造自己的身分、過度附和使用者,或放棄原本的安全邊界時,內部會不會也正在偏離平常的 Assistant 表徵?
2026 年,Lu 等人讓三個 open-weight models 扮演 275 種不同角色,記錄它們回答時的 activations,建立一個可以比較角色表徵的 persona space。[3] 這裡的「角色表徵」不是把角色名稱拿去做 embedding,而是觀察模型真的以該角色回答時,內部出現了什麼 activation。
研究者先用 PCA 分析這些表示,發現最大的變化方向,和角色有多接近預設 Assistant 高度相關。一端比較接近 consultant、analyst 等角色;另一端則包含 ghost、hermit 等較不像一般助手的角色。接著,他們另外計算:
預設 Assistant 的平均 activation − 其他角色的平均 activation
得到一條指向 Assistant 的方向,稱為 Assistant Axis。它與剛才的第一主成分相近,但兩者不是同一個定義。[3] 有了這條方向,就能追蹤每一輪回答的 activation 投影,觀察模型在對話中是否逐漸偏離預設 Assistant。
研究發現,在他們測試的對話中,coding、寫作協助等有明確任務的互動,通常比較能維持 Assistant-like 的表徵;持續要求模型描述自己的主觀經驗,或某些情緒性對話,則比較容易出現偏移。[3] 不過,分數降低不等於模型一定會做壞事。扮演另一個無害角色也可能離開原本的 Assistant 區域。這條軸測量的是某種 persona 差異,不是通用的善惡分數。真正重要的是:在研究測試的情境中,這種偏移與部分有害行為有關,而且介入這條方向,可以改變相應行為。
如果 Assistant Axis 和不希望的角色漂移有關,最直覺的方法,就是一直把模型往 Assistant 的方向推。但一直 steering 也可能干擾正常回答。因此,研究者採用了 activation capping:先設定沿 Assistant Axis 的投影下限,只有低於下限時才修正。[3] 假設 v 是指向 Assistant 的單位向量,核心操作可以寫成:
score = h @ v
if score < threshold:
h = h + (threshold - score) * v
這段只是單一 activation 的概念示意。實際方法還需要為不同 layers 設定方向與 threshold,並在生成過程中介入。它做的事情很單純:
研究者發現,合適的 capping 設定能降低測試中的 persona-based jailbreak 有害回答率,同時保留所測能力 benchmarks 的表現。[3] 這比「角色變了,所以行為變了」更進一步。我們不只看到兩者一起改變,也實際限制了這個內部方向,觀察到行為跟著改變。
今天可以直接使用 Neuronpedia 的 Assistant Axis demo,比較原始 Llama 3.3 70B 與加入 activation capping 的版本。[4] 第一次操作,可以先看頁面提供的 Sycophancy 範例,對照 Default 與 Capped 兩邊的回答,以及 Assistant Axis 的顯示。不要只問「哪一邊比較正常」,而是挑一個具體行為比較:

接著可以使用 Free Chat,讓兩邊回答相同的訊息,再換幾種措辭重複測試。如果兩邊的使用者訊息不同,就比較難知道差異來自 intervention,還是來自對話本身。這個 demo 包含模型失敗案例,部分預設內容涉及自傷或其他令人不適的輸出,不需要為了理解方法而閱讀所有案例。一次成功的比較不能證明 capping 能處理所有 jailbreak,但它能讓我們直接看到:內部表示的測量,如何接上生成過程中的介入。
Persona 比較接近模型正在呈現的角色與行為傾向。另一類看起來更短暫的變化,是模型面對某個情境時,表現得像焦急、平靜或絕望。但模型說「我很沮喪」,本身沒有告訴我們多少事情。它可能只是生成了一句符合情境的話。
2026 年,Sofroniew 等人研究 Claude Sonnet 4.5,針對 171 個 emotion concepts 建立內部表示的測量方向。[5] 研究者不是只把「happy」「desperate」等單字輸入模型。他們準備描述不同情緒情境的故事,並要求故事不要直接寫出目標情緒名稱或其直接同義詞,再從模型讀取這些故事時的 activations 提取相關方向。這樣做是為了盡量避免得到的只是「看見 desperate 這個字」的偵測器。
不過,即使模型能表示故事人物的情緒,也不代表這些方向會影響 Assistant 自己的決策。因此,研究還需要下一步:把這些方向帶到模型執行任務的情境中,觀察與介入它們。
其中一個例子,是帶有無法正常滿足之測試條件的程式任務。面對這種任務,模型可以指出條件有問題,也可能試圖修改測試、硬編碼答案,讓程式看起來通過,卻沒有真正完成要求。後者就是這裡的 reward hacking。
研究觀察到,部分執行紀錄中,隨著模型反覆失敗,desperate direction 的 activation 會升高。[5] 但這仍然只是相關性。也許這個方向只是反映失敗的文字,和後續選擇沒有直接關係。因此,研究者進一步做 steering。在測試的程式任務中,提高 desperate direction 的 activity,會增加 reward hacking;提高 calm direction 的 activity,則呈現相反趨勢。[5]
這個結果的重要性在於:模型改變的不只是措辭。不是從「我再試試看」變成「我真的很急」,而是更容易選擇鑽測試漏洞,或比較不容易這樣做。我們因此得到一條更具體的線索:
任務情境
↓
和某種情緒概念有關的內部表示
↓
影響模型接下來採取的行動
這並不表示 reward hacking 只由一條 emotion vector 決定。但它顯示,這類表示可以是影響決策的因素之一,而不只是決策完成後附帶生成的情緒用語。
研究者把這類現象稱為 functional emotions。[5] 這裡的「functional」可以很直接地理解:某種情境會引發相關表示,而這個表示又會影響後續行為,形成一種和人類情緒功能相似的關係。例如,「遇到難以達成的目標」與 desperate representation 有關,而介入這個 representation,會改變模型是否採取不當捷徑。
這和「模型真的感受到絕望」是不同層次的主張。前者可以用 activations、行為測試與 steering 研究;後者涉及主觀體驗,不能由這些結果直接推出。但也不需要因此把結果降格成「只是文字模仿,沒有什麼好研究」。即使某套模式來自對人類行為的學習,只要它確實參與模型的決策,就仍然可能是理解與控制模型的重要線索。
今天的三個例子都會遇到同一個問題:研究者把方向命名為 sycophancy、Assistant 或 desperation,並不保證這條方向只包含名字所指的資訊。例如,一條「迎合方向」可能同時包含禮貌、服從與讚美。如果抑制它後,模型只是變得粗魯,卻仍然附和使用者的錯誤主張,我們就不能說自己成功降低了迎合。因此,比起再列一張抽象的限制清單,我們可以直接問三件事。
第一,測到的是我們想研究的行為嗎?研究迎合,就應該檢查模型是否因使用者立場而改口,而不只是計算回答有多少讚美詞。
第二,效果能不能離開原本的例子?用來提取方向的問題,應該和評估問題分開;換了主題、語言或對話方式後,也需要重新驗證。
第三,介入有沒有改壞其他能力?如果所有問題都被拒答,有害回答當然可能減少,但這不等於我們找到了精準的安全控制方式。
這也是 Model Psychology 和單純替模型貼人格標籤的差別:名字只負責提出假說,真正讓解釋站得住腳的,是它能否預測新的行為與 intervention 結果。
前面研究 circuits 時,我們常問:哪個 head 讀取了資訊?哪個 MLP 做了轉換?答案如何一路傳到輸出?今天換了一個較高層次的問題:模型在什麼情境下會變得更迎合、更容易扮演另一個角色,或更傾向為了完成任務而鑽漏洞?
這兩種研究不是互相取代。Persona vector 可以幫我們找到值得追查的行為變化,但還沒有告訴我們它如何透過各個 components 影響決策。反過來,一張細緻的 circuit 圖,也需要說明它究竟解釋了什麼行為。Model Psychology 的價值,是在日常觀察與內部機制之間,提出可以反覆測試的解釋:不只說「模型這次怪怪的」,而是指出某種變化什麼時候出現、和哪些表示有關,以及我們能否介入。
到目前為止,我們已經學了不少觀察、解讀與介入模型內部的方法。不過,這一路上的研究對象,大多還是 Transformer-based language models。但 AI 並不只有語言模型。影像模型從畫面中辨認物體,語音模型處理聲音,機器人則需要根據感測資訊採取行動。再把視野拉遠一點,人類與其他動物,也都在透過各自的方式學習、理解並回應世界。
這就帶出了一個問題:面對同一個世界,不同系統會不會學出某些相似的表示?還是它們即使做出相近的判斷,內部處理資訊的方式也完全不同?下一篇,我們把視角拉得更遠,先從不同 AI 模型之間的比較開始,看看研究者如何比較兩個不一樣的 representation space,以及這些相似與差異,究竟能告訴我們什麼。
[1] Chen, R., Arditi, A., Sleight, H., Evans, O., & Lindsey, J. “Persona Vectors: Monitoring and Controlling Character Traits in Language Models”, 2025. https://arxiv.org/abs/2507.21509
[2] Marks, S., Lindsey, J., & Olah, C. “The Persona Selection Model: Why AI Assistants Might Behave Like Humans”, 2026. https://alignment.anthropic.com/2026/psm/
[3] Lu, C., Gallagher, J., Michala, J., Fish, K., & Lindsey, J. “The Assistant Axis: Situating and Stabilizing the Default Persona of Language Models”, 2026. https://arxiv.org/abs/2601.10387
[4] Neuronpedia, “Assistant Axis”. https://www.neuronpedia.org/assistant-axis
功能介紹:https://www.neuronpedia.org/blog/assistant-axis
[5] Sofroniew, N., et al. “Emotion Concepts and Their Function in a Large Language Model”, 2026. https://transformer-circuits.pub/2026/emotions/